//
//	GetResumeByUserIdEduExperienceList.m
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport



#import "GetResumeByUserIdEduExperienceList.h"

NSString *const kGetResumeByUserIdEduExperienceListEducation = @"education";
NSString *const kGetResumeByUserIdEduExperienceListEducationCode = @"educationCode";
NSString *const kGetResumeByUserIdEduExperienceListGraduation = @"graduation";
NSString *const kGetResumeByUserIdEduExperienceListIdField = @"id";
NSString *const kGetResumeByUserIdEduExperienceListMajor = @"major";
NSString *const kGetResumeByUserIdEduExperienceListMajorCode = @"majorCode";
NSString *const kGetResumeByUserIdEduExperienceListSchool = @"school";

@interface GetResumeByUserIdEduExperienceList ()
@end
@implementation GetResumeByUserIdEduExperienceList




/**
 * Instantiate the instance using the passed dictionary values to set the properties values
 */

-(instancetype)initWithDictionary:(NSDictionary *)dictionary
{
	self = [super init];
	if(![dictionary[kGetResumeByUserIdEduExperienceListEducation] isKindOfClass:[NSNull class]]){
		self.education = dictionary[kGetResumeByUserIdEduExperienceListEducation];
	}	
	if(![dictionary[kGetResumeByUserIdEduExperienceListEducationCode] isKindOfClass:[NSNull class]]){
		self.educationCode = dictionary[kGetResumeByUserIdEduExperienceListEducationCode];
	}	
	if(![dictionary[kGetResumeByUserIdEduExperienceListGraduation] isKindOfClass:[NSNull class]]){
		self.graduation = [dictionary[kGetResumeByUserIdEduExperienceListGraduation] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdEduExperienceListIdField] isKindOfClass:[NSNull class]]){
		self.idField = [dictionary[kGetResumeByUserIdEduExperienceListIdField] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdEduExperienceListMajor] isKindOfClass:[NSNull class]]){
		self.major = dictionary[kGetResumeByUserIdEduExperienceListMajor];
	}	
	if(![dictionary[kGetResumeByUserIdEduExperienceListMajorCode] isKindOfClass:[NSNull class]]){
		self.majorCode = dictionary[kGetResumeByUserIdEduExperienceListMajorCode];
	}	
	if(![dictionary[kGetResumeByUserIdEduExperienceListSchool] isKindOfClass:[NSNull class]]){
		self.school = dictionary[kGetResumeByUserIdEduExperienceListSchool];
	}	
	return self;
}


/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
-(NSDictionary *)toDictionary
{
	NSMutableDictionary * dictionary = [NSMutableDictionary dictionary];
	if(self.education != nil){
		dictionary[kGetResumeByUserIdEduExperienceListEducation] = self.education;
	}
	if(self.educationCode != nil){
		dictionary[kGetResumeByUserIdEduExperienceListEducationCode] = self.educationCode;
	}
	dictionary[kGetResumeByUserIdEduExperienceListGraduation] = @(self.graduation);
	dictionary[kGetResumeByUserIdEduExperienceListIdField] = @(self.idField);
	if(self.major != nil){
		dictionary[kGetResumeByUserIdEduExperienceListMajor] = self.major;
	}
	if(self.majorCode != nil){
		dictionary[kGetResumeByUserIdEduExperienceListMajorCode] = self.majorCode;
	}
	if(self.school != nil){
		dictionary[kGetResumeByUserIdEduExperienceListSchool] = self.school;
	}
	return dictionary;

}

/**
 * Implementation of NSCoding encoding method
 */
/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
- (void)encodeWithCoder:(NSCoder *)aCoder
{
	if(self.education != nil){
		[aCoder encodeObject:self.education forKey:kGetResumeByUserIdEduExperienceListEducation];
	}
	if(self.educationCode != nil){
		[aCoder encodeObject:self.educationCode forKey:kGetResumeByUserIdEduExperienceListEducationCode];
	}
	[aCoder encodeObject:@(self.graduation) forKey:kGetResumeByUserIdEduExperienceListGraduation];	[aCoder encodeObject:@(self.idField) forKey:kGetResumeByUserIdEduExperienceListIdField];	if(self.major != nil){
		[aCoder encodeObject:self.major forKey:kGetResumeByUserIdEduExperienceListMajor];
	}
	if(self.majorCode != nil){
		[aCoder encodeObject:self.majorCode forKey:kGetResumeByUserIdEduExperienceListMajorCode];
	}
	if(self.school != nil){
		[aCoder encodeObject:self.school forKey:kGetResumeByUserIdEduExperienceListSchool];
	}

}

/**
 * Implementation of NSCoding initWithCoder: method
 */
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
	self = [super init];
	self.education = [aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListEducation];
	self.educationCode = [aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListEducationCode];
	self.graduation = [[aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListGraduation] integerValue];
	self.idField = [[aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListIdField] integerValue];
	self.major = [aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListMajor];
	self.majorCode = [aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListMajorCode];
	self.school = [aDecoder decodeObjectForKey:kGetResumeByUserIdEduExperienceListSchool];
	return self;

}

/**
 * Implementation of NSCopying copyWithZone: method
 */
- (instancetype)copyWithZone:(NSZone *)zone
{
	GetResumeByUserIdEduExperienceList *copy = [GetResumeByUserIdEduExperienceList new];

	copy.education = [self.education copyWithZone:zone];
	copy.educationCode = [self.educationCode copyWithZone:zone];
	copy.graduation = self.graduation;
	copy.idField = self.idField;
	copy.major = [self.major copyWithZone:zone];
	copy.majorCode = [self.majorCode copyWithZone:zone];
	copy.school = [self.school copyWithZone:zone];

	return copy;
}
@end